AppStream2.0でClickOnce アプリケーションを配信する
ClickOnceアプリケーションって何?
ClickOnceはアプリケーションを配置するためのマイクロソフトの技術のことを指し、ClickOnceアプリケーションはそのClickOnce経由で配置されるアプリケーションのことです。
ざっくりいうと、ClickOnceを用いることでアプリケーションインストールの複雑さを容易に、さらに信頼性を向上させることができます。
(参考情報)
AppStreamでClickOnceアプリケーションをインストールする
このClickOnceアプリケーションをAppStreamで配信する場合の方法については、AWS公式管理ガイドに記載があります。
ですがあまり詳細には記載されておらず、事実私が手こずりましたので、記録を残しておきたいと思います。
※このやり方が汎用性があるのかどうか、よくわかっておりません。あくまで今回のアプリケーションではこうだった、という前提で読んでいただけると幸いです。
Administratorでの作業
前述の管理ガイドの項番3=管理者としてログインまで終わっているとします。
インストール
インストーラーを実行すると、デスクトップと C:\Users\ImageBuilderAdmin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\(企業名)\
にそれぞれ(アプリ名).appref-ms
が作成されました。いずれかを実行することでアプリが起動するようになりました。
デスクトップのappref-msファイルを移動
あとでTemplate Userで使うので、デスクトップにある(アプリ名).appref-ms
ファイルをTemplate Userでアクセスできる箇所に移動させます。私はC:\Users\
にしましたがTemplate Userがアクセスできる場所であればどこでも良いはずです。
batファイル作成
前述の管理ガイドの項番4の部分です。以下方法で作成しました。
- PowerShellを右クリックで管理者権限で起動する
- 以下コマンドを実施
echo 'explorer "%APPDATA%\Microsoft\Windows\Start Menu\Programs\(企業名)\(アプリ名).appref-ms"' | out-file C:\Users\call-appref-ms.bat -encoding ascii
C:\Users\call-appref-ms.bat
でアプリケーション起動するか確認
Image Assistant
前述の管理ガイドの項番5の部分です。
Add App
で指定するLaunch Path
は先ほど作成したbatファイルC:\Users\call-appref-ms.bat
を指定しましょう。
その後Switch Userして(管理ガイドの項番6,7)Template Userでの作業に移ります。
Template Userでの作業
インストール
ここが私のハマリポイントだったのですが、Administratorと同じ様にインストーラーを実行してインストールしようとすると、ImageBuilderAdmin(=AppStreamでいうところのAdministrator)のパスワードを要求されます。ImageBuilderAdminのパスワードは確認不可なのでインストールできませんでした。
代わりに、先程ファイル移動したappref-msファイルを実行します。するとAdministratorの時と同様に、デスクトップと C:\Users\DefaultProfileUser\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\(企業名)\
に(アプリ名).appref-ms
が作成されました。いずれかを実行することでアプリが起動するようになりました。
Image Assistant
前述の管理ガイドの項番9,10です。アプリケーションを開いて正しく機能していることを確認し、Switch UserでAdministratorに戻ります。
あとは通常の手順で進めればOKです。(「通常の手順」は 入門ガイドを参考にいただければと思います)
Administratorに戻ってすぐ、「Save Settings」することを忘れずに。(私が忘れました)